<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>BoundedInputStream (POI API Documentation)</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="BoundedInputStream (POI API Documentation)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/BoundedInputStream.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/poi/util/BlockingInputStream.html" title="class in org.apache.poi.util"><span class="strong">PREV CLASS</span></a></li>
<li><a href="../../../../org/apache/poi/util/ByteField.html" title="class in org.apache.poi.util"><span class="strong">NEXT CLASS</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/poi/util/BoundedInputStream.html" target="_top">FRAMES</a></li>
<li><a href="BoundedInputStream.html" target="_top">NO FRAMES</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>SUMMARY:&nbsp;</li>
<li>NESTED&nbsp;|&nbsp;</li>
<li>FIELD&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">METHOD</a></li>
</ul>
<ul class="subNavList">
<li>DETAIL:&nbsp;</li>
<li>FIELD&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">METHOD</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<p class="subTitle">org.apache.poi.util</p>
<h2 title="Class BoundedInputStream" class="title">Class BoundedInputStream</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>java.io.InputStream</li>
<li>
<ul class="inheritance">
<li>org.apache.poi.util.BoundedInputStream</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Closeable</dd>
</dl>
<hr>
<br>
<pre>public class <strong>BoundedInputStream</strong>
extends java.io.InputStream</pre>
<div class="block">This is a stream that will only supply bytes up to a certain length - if its
 position goes above that, it will stop.
 <p>
 This is useful to wrap ServletInputStreams. The ServletInputStream will block
 if you try to read content from it that isn't there, because it doesn't know
 whether the content hasn't arrived yet or whether the content has finished.
 So, one of these, initialized with the Content-length sent in the
 ServletInputStream's header, will stop it blocking, providing it's been sent
 with a correct content length.</div>
<dl><dt><span class="strong">Since:</span></dt>
  <dd>Commons IO 2.0</dd>
<dt><span class="strong">Version:</span></dt>
  <dd>$Id$</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../org/apache/poi/util/BoundedInputStream.html#BoundedInputStream(java.io.InputStream)">BoundedInputStream</a></strong>(java.io.InputStream&nbsp;in)</code>
<div class="block">Creates a new <code>BoundedInputStream</code> that wraps the given input
 stream and is unlimited.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../org/apache/poi/util/BoundedInputStream.html#BoundedInputStream(java.io.InputStream, long)">BoundedInputStream</a></strong>(java.io.InputStream&nbsp;in,
                  long&nbsp;size)</code>
<div class="block">Creates a new <code>BoundedInputStream</code> that wraps the given input
 stream and limits it to a certain size.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/util/BoundedInputStream.html#available()">available</a></strong>()</code></td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/util/BoundedInputStream.html#close()">close</a></strong>()</code>
<div class="block">Invokes the delegate's <code>close()</code> method
 if <a href="../../../../org/apache/poi/util/BoundedInputStream.html#isPropagateClose()"><code>isPropagateClose()</code></a> is <code>true</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/util/BoundedInputStream.html#isPropagateClose()">isPropagateClose</a></strong>()</code>
<div class="block">Indicates whether the <a href="../../../../org/apache/poi/util/BoundedInputStream.html#close()"><code>close()</code></a> method
 should propagate to the underling <code>InputStream</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/util/BoundedInputStream.html#mark(int)">mark</a></strong>(int&nbsp;readlimit)</code>
<div class="block">Invokes the delegate's <code>mark(int)</code> method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/util/BoundedInputStream.html#markSupported()">markSupported</a></strong>()</code>
<div class="block">Invokes the delegate's <code>markSupported()</code> method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/util/BoundedInputStream.html#read()">read</a></strong>()</code>
<div class="block">Invokes the delegate's <code>read()</code> method if
 the current position is less than the limit.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/util/BoundedInputStream.html#read(byte[])">read</a></strong>(byte[]&nbsp;b)</code>
<div class="block">Invokes the delegate's <code>read(byte[])</code> method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/util/BoundedInputStream.html#read(byte[], int, int)">read</a></strong>(byte[]&nbsp;b,
    int&nbsp;off,
    int&nbsp;len)</code>
<div class="block">Invokes the delegate's <code>read(byte[], int, int)</code> method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/util/BoundedInputStream.html#reset()">reset</a></strong>()</code>
<div class="block">Invokes the delegate's <code>reset()</code> method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/util/BoundedInputStream.html#setPropagateClose(boolean)">setPropagateClose</a></strong>(boolean&nbsp;propagateClose)</code>
<div class="block">Set whether the <a href="../../../../org/apache/poi/util/BoundedInputStream.html#close()"><code>close()</code></a> method
 should propagate to the underling <code>InputStream</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/util/BoundedInputStream.html#skip(long)">skip</a></strong>(long&nbsp;n)</code>
<div class="block">Invokes the delegate's <code>skip(long)</code> method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/util/BoundedInputStream.html#toString()">toString</a></strong>()</code>
<div class="block">Invokes the delegate's <code>toString()</code> method.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="BoundedInputStream(java.io.InputStream, long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BoundedInputStream</h4>
<pre>public&nbsp;BoundedInputStream(java.io.InputStream&nbsp;in,
                  long&nbsp;size)</pre>
<div class="block">Creates a new <code>BoundedInputStream</code> that wraps the given input
 stream and limits it to a certain size.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>in</code> - The wrapped input stream</dd><dd><code>size</code> - The maximum number of bytes to return</dd></dl>
</li>
</ul>
<a name="BoundedInputStream(java.io.InputStream)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>BoundedInputStream</h4>
<pre>public&nbsp;BoundedInputStream(java.io.InputStream&nbsp;in)</pre>
<div class="block">Creates a new <code>BoundedInputStream</code> that wraps the given input
 stream and is unlimited.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>in</code> - The wrapped input stream</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="read()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>read</h4>
<pre>public&nbsp;int&nbsp;read()
         throws java.io.IOException</pre>
<div class="block">Invokes the delegate's <code>read()</code> method if
 the current position is less than the limit.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code>read</code>&nbsp;in class&nbsp;<code>java.io.InputStream</code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the byte read or -1 if the end of stream or
 the limit has been reached.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if an I/O error occurs</dd></dl>
</li>
</ul>
<a name="read(byte[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>read</h4>
<pre>public&nbsp;int&nbsp;read(byte[]&nbsp;b)
         throws java.io.IOException</pre>
<div class="block">Invokes the delegate's <code>read(byte[])</code> method.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code>read</code>&nbsp;in class&nbsp;<code>java.io.InputStream</code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>b</code> - the buffer to read the bytes into</dd>
<dt><span class="strong">Returns:</span></dt><dd>the number of bytes read or -1 if the end of stream or
 the limit has been reached.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if an I/O error occurs</dd></dl>
</li>
</ul>
<a name="read(byte[], int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>read</h4>
<pre>public&nbsp;int&nbsp;read(byte[]&nbsp;b,
       int&nbsp;off,
       int&nbsp;len)
         throws java.io.IOException</pre>
<div class="block">Invokes the delegate's <code>read(byte[], int, int)</code> method.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code>read</code>&nbsp;in class&nbsp;<code>java.io.InputStream</code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>b</code> - the buffer to read the bytes into</dd><dd><code>off</code> - The start offset</dd><dd><code>len</code> - The number of bytes to read</dd>
<dt><span class="strong">Returns:</span></dt><dd>the number of bytes read or -1 if the end of stream or
 the limit has been reached.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if an I/O error occurs</dd></dl>
</li>
</ul>
<a name="skip(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>skip</h4>
<pre>public&nbsp;long&nbsp;skip(long&nbsp;n)
          throws java.io.IOException</pre>
<div class="block">Invokes the delegate's <code>skip(long)</code> method.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code>skip</code>&nbsp;in class&nbsp;<code>java.io.InputStream</code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>n</code> - the number of bytes to skip</dd>
<dt><span class="strong">Returns:</span></dt><dd>the actual number of bytes skipped</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if an I/O error occurs</dd></dl>
</li>
</ul>
<a name="available()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>available</h4>
<pre>public&nbsp;int&nbsp;available()
              throws java.io.IOException</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code>available</code>&nbsp;in class&nbsp;<code>java.io.InputStream</code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd></dl>
</li>
</ul>
<a name="toString()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
<div class="block">Invokes the delegate's <code>toString()</code> method.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the delegate's <code>toString()</code></dd></dl>
</li>
</ul>
<a name="close()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>public&nbsp;void&nbsp;close()
           throws java.io.IOException</pre>
<div class="block">Invokes the delegate's <code>close()</code> method
 if <a href="../../../../org/apache/poi/util/BoundedInputStream.html#isPropagateClose()"><code>isPropagateClose()</code></a> is <code>true</code>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code>close</code>&nbsp;in interface&nbsp;<code>java.io.Closeable</code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code>close</code>&nbsp;in class&nbsp;<code>java.io.InputStream</code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if an I/O error occurs</dd></dl>
</li>
</ul>
<a name="reset()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
<pre>public&nbsp;void&nbsp;reset()
           throws java.io.IOException</pre>
<div class="block">Invokes the delegate's <code>reset()</code> method.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code>reset</code>&nbsp;in class&nbsp;<code>java.io.InputStream</code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if an I/O error occurs</dd></dl>
</li>
</ul>
<a name="mark(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mark</h4>
<pre>public&nbsp;void&nbsp;mark(int&nbsp;readlimit)</pre>
<div class="block">Invokes the delegate's <code>mark(int)</code> method.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code>mark</code>&nbsp;in class&nbsp;<code>java.io.InputStream</code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>readlimit</code> - read ahead limit</dd></dl>
</li>
</ul>
<a name="markSupported()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>markSupported</h4>
<pre>public&nbsp;boolean&nbsp;markSupported()</pre>
<div class="block">Invokes the delegate's <code>markSupported()</code> method.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code>markSupported</code>&nbsp;in class&nbsp;<code>java.io.InputStream</code></dd>
<dt><span class="strong">Returns:</span></dt><dd>true if mark is supported, otherwise false</dd></dl>
</li>
</ul>
<a name="isPropagateClose()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPropagateClose</h4>
<pre>public&nbsp;boolean&nbsp;isPropagateClose()</pre>
<div class="block">Indicates whether the <a href="../../../../org/apache/poi/util/BoundedInputStream.html#close()"><code>close()</code></a> method
 should propagate to the underling <code>InputStream</code>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>true</code> if calling <a href="../../../../org/apache/poi/util/BoundedInputStream.html#close()"><code>close()</code></a>
 propagates to the <code>close()</code> method of the
 underlying stream or <code>false</code> if it does not.</dd></dl>
</li>
</ul>
<a name="setPropagateClose(boolean)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setPropagateClose</h4>
<pre>public&nbsp;void&nbsp;setPropagateClose(boolean&nbsp;propagateClose)</pre>
<div class="block">Set whether the <a href="../../../../org/apache/poi/util/BoundedInputStream.html#close()"><code>close()</code></a> method
 should propagate to the underling <code>InputStream</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>propagateClose</code> - <code>true</code> if calling
 <a href="../../../../org/apache/poi/util/BoundedInputStream.html#close()"><code>close()</code></a> propagates to the <code>close()</code>
 method of the underlying stream or
 <code>false</code> if it does not.</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/BoundedInputStream.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/poi/util/BlockingInputStream.html" title="class in org.apache.poi.util"><span class="strong">PREV CLASS</span></a></li>
<li><a href="../../../../org/apache/poi/util/ByteField.html" title="class in org.apache.poi.util"><span class="strong">NEXT CLASS</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/poi/util/BoundedInputStream.html" target="_top">FRAMES</a></li>
<li><a href="BoundedInputStream.html" target="_top">NO FRAMES</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>SUMMARY:&nbsp;</li>
<li>NESTED&nbsp;|&nbsp;</li>
<li>FIELD&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">METHOD</a></li>
</ul>
<ul class="subNavList">
<li>DETAIL:&nbsp;</li>
<li>FIELD&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">METHOD</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>
                <i>Copyright 2014 The Apache Software Foundation or
        its licensors, as applicable.</i>
            </small></p>
</body>
</html>
